package 牛客.二分查找_排序;

public class BM18二维数组中的查找 {
    public boolean Find(int target, int [][] array) {
        //分治法，target和左下角值进行比较
        //target>左下角，则消左下角所在列
        //target<左下角，则小左下角所在行
        //超出行列边界则没有找到target
        if (array==null || array.length==0) {
            return false;
        }
        int row=array.length-1;//最后一行
        int column=0;//第一列


        while (row>=0 && column<array[0].length) {
            if (array[row][column] > target) {
                row--;
            }else if (array[row][column] < target) {
                column++;
            }else {
                return true;
            }
        }
        return false;

    }
}
